package com.bjsj.pro.tools;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;

import com.bjsj.pro.bean.LoginBean;
import com.lzy.imagepicker.ImagePicker;
import com.lzy.imagepicker.bean.ImageItem;
import com.lzy.imagepicker.ui.ImageGridActivity;
import com.bjsj.pro.view.SelectDialog;

import java.util.ArrayList;

/**
 * Created by Nevermore on 2018/7/19.
 */

public class IntentTools
{

    /**
     * Intent页面跳转
     **/
    public static void startIntentActivity(Context context, Class<?> cs, Bundle bundle)
    {
        if (ButtonUtils.isFastDoubleClick())
        {
            return;
        }
        Intent intent = new Intent(context, cs);
        if (bundle != null)
        {
            intent.putExtras(bundle);
        }
        context.startActivity(intent);
    }

    /**
     * Intent页面跳转
     **/
    public static void startActivityForResult(Activity context, Class<?> cs, Bundle bundle, int code)
    {
        if (ButtonUtils.isFastDoubleClick())
        {
            return;
        }
        Intent intent = new Intent(context, cs);
        if (bundle != null)
        {
            intent.putExtras(bundle);
        }
        context.startActivityForResult(intent, code);
    }



    /**
     * Intent页面跳转修改名字
     **/
    /*public static void startUpNameActivityForResult(Activity context, int type)
    {
        if (ButtonUtils.isFastDoubleClick())
        {
            return;
        }
        Intent intent = new Intent(context, UpdateNameActivity.class);
        intent.putExtra("type",type);
        context.startActivityForResult(intent, 201);
    }*/


    /**
     * Intent页面跳转店铺管理界面
     **/
    /*public static void startPersonalstoreactivity(Activity context, String release_type_id)
    {
        if (ButtonUtils.isFastDoubleClick())
        {
            return;
        }

        int type=0;
        //后台定义的类型；8求职，7活动，6商品，5土地交易，4教育机构，3二手车商家，2品牌房源，1企业招聘
        //自己的0,招聘；1，二手车；2土地；3.租房；4，教育；
        switch (release_type_id)
        {
            case "1":
              type=0;
              break;
            case "3":
                type=1;
                break;
            case "5":
                type=2;
                break;
            case "2":
                type=3;
                break;
            case "4":
                type=4;
                break;
        }
        Intent intent = new Intent(context, ShopManageActivity.class);
        intent.putExtra("type",type);
        context.startActivity(intent);
    }*/


    /**
     * 判断用户信息是否为空，为空的话跳转到登录界面
     **/
    public static boolean startLoginAcitivty(Activity context, GlobalTools tools)
    {

        LoginBean userInfo = (LoginBean) tools.readObject(context, Configs.SAVE_LOGIN_KEY, Configs.SAVE_LOGIN_SP_NAME);

        if(userInfo!=null)
        {
            return true;
        }
        else {

            /*Intent intent= new Intent(context,LoginActivity.class);
            context.startActivity(intent);*/
            //context.finish();
            return false;
        }

    }

    /*public static boolean Systemactivity(Activity context, GlobalTools tools) {
       // boolean flage;
        LoginBean userInfo = (LoginBean) tools.readObject(context, Configs.SAVE_LOGIN_KEY, Configs.SAVE_LOGIN_SP_NAME);
        //Log.d("bbbbbbbbbbbbbb",userInfo.getData().getUserInfo().getSystem_ids());
        if (userInfo.getData().getUserInfo().getSystem_ids()==null) {
           *//* Intent intent = new Intent(context, InvitationActivity.class);
            context.startActivity(intent);*//*
            //context.finish();
            return false;
        } else {
            return true;
        }

    }*/






    /**
     * 判断用户信息是否为空，为空的话跳转到登录界面
     **/
   /* public static void startGlobalDetailsActivity(Context context, String user_release_id)
    {
        Intent intent = new Intent(context, GlobalDetailsActivity.class);
        intent.putExtra("user_release_id",user_release_id);
        context.startActivity(intent);

    }*/

    /**
     * Intent页面跳转
     * 跳转到地址列表界面
     **/
    public static void startAdressActivity(Activity context, Class<?> cs, int type, int code)
    {
        if (ButtonUtils.isFastDoubleClick())
        {
            return;
        }
        Intent intent = new Intent(context, cs);
        intent.putExtra("type",type);
        context.startActivityForResult(intent, code);
    }

    /**
     * Intent页面跳转
     * 跳转到品牌详情
     **/
    /*public static void startBranDetailsActivity(Activity context, int type, String seller_release_id)
    {
        if (ButtonUtils.isFastDoubleClick())
        {
            return;
        }
        Intent intents=new Intent(context,BrandGlbDetailsActivity.class);
        intents.putExtra("type",type);
        intents.putExtra("seller_release_id",seller_release_id);
        context.startActivity(intents);
    }*/

    /**
     * Intent页面跳转
     * 跳转到品牌详情
     **/
   /* public static void startShopeDetailsActivity(Activity context, int type)
    {
        if (ButtonUtils.isFastDoubleClick())
        {
            return;
        }
        Intent intents = null;
        switch (type)
        {

            case 1:
                 intents=new Intent(context,ShopeHousingResourcesActivity.class);
                break;
            case 2:
                intents=new Intent(context,ShopUserdCatActivity.class);
                //(new Intent(getActivity(), GlobalDetailsActivity.class));

                break;
            case 3:
                intents=new Intent(context,ShopeeducationActivity.class);
                break;
            case 4:
                intents=new Intent(context,ShopTdjyDetailsActivity.class);
                break;
        
        }
        context.startActivity(intents);
   
    }*/



    public static void gotoPick(final Activity activity, final int maxImage) {

        Dialogutils.showDialog(new SelectDialog.SelectDialogListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, final int positions, long id) {
                //第一次调用的时候，虽然imagepicker后面有调存储卡权限，但头一次进来同时调用存储卡权限和相机权限没有处理，只单独调用
                //        了相机权限，所以第一次进来的时候照相会崩掉
                switch (positions) {
                    case 0: // 直接调起相机
                        /**
                         * 0.4.7 目前直接调起相机不支持裁剪，如果开启裁剪后不会返回图片，请注意，后续版本会解决
                         *
                         * 但是当前直接依赖的版本已经解决，考虑到版本改动很少，所以这次没有上传到远程仓库
                         *
                         * 如果实在有所需要，请直接下载源码引用。
                         */
                        //打开选择,本次允许选择的数量
                        //                        ImagePicker.getInstance().setSelectLimit(maxImgCount - selImageList.size());
                        Intent intent = new Intent(activity, ImageGridActivity.class);
                        intent.putExtra(ImageGridActivity.EXTRAS_TAKE_PICKERS, true); // 是否是直接打开相机
                        activity.startActivityForResult(intent, Configs.REQUEST_CODE_PHONE);
                        break;
                    case 1:


                        //打开选择,本次允许选择的数量
                        ImagePicker.getInstance().setSelectLimit(maxImage);
                        Intent intent1 = new Intent(activity, ImageGridActivity.class);
                        /* 如果需要进入选择的时候显示已经选中的图片，
                         * 详情请查看ImagePickerActivity
                         * */
                        //进去可以看到已经被选中的图片
                        //   intent1.putExtra(ImageGridActivity.EXTRAS_IMAGES, selImageList);
                        activity.startActivityForResult(intent1, Configs.REQUEST_CODE_SELECT);


                        //打开安卓本地图片
                     /*   Intent intent = new Intent();
                        intent.setAction(Intent.ACTION_PICK);
                        intent.setType("image/*");
                        activity.startActivityForResult(intent, Configs.REQUEST_ALBUM_OK);*/
                        break;
                    default:
                        break;
                }
            }
        }, activity);

    }






    public static void gotoPick(final Activity activity, final ArrayList<ImageItem> selImageList) {

        Dialogutils.showDialog(new SelectDialog.SelectDialogListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, final int positions, long id) {
                //第一次调用的时候，虽然imagepicker后面有调存储卡权限，但头一次进来同时调用存储卡权限和相机权限没有处理，只单独调用
                //        了相机权限，所以第一次进来的时候照相会崩掉
                switch (positions) {
                    case 0: // 直接调起相机
                        /**
                         * 0.4.7 目前直接调起相机不支持裁剪，如果开启裁剪后不会返回图片，请注意，后续版本会解决
                         *
                         * 但是当前直接依赖的版本已经解决，考虑到版本改动很少，所以这次没有上传到远程仓库
                         *
                         * 如果实在有所需要，请直接下载源码引用。
                         */
                        //打开选择,本次允许选择的数量
                        //                        ImagePicker.getInstance().setSelectLimit(maxImgCount - selImageList.size());
                        Intent intent = new Intent(activity, ImageGridActivity.class);
                        intent.putExtra(ImageGridActivity.EXTRAS_TAKE_PICKERS, true); // 是否是直接打开相机
                        activity.startActivityForResult(intent, Configs.REQUEST_CODE_PHONE);
                        break;
                    case 1:
                        //打开选择,本次允许选择的数量
//                        ImagePicker.getInstance().setSelectLimit(maxImgCount - selImageList.size());
                        Intent intent1 = new Intent(activity, ImageGridActivity.class);
                        /* 如果需要进入选择的时候显示已经选中的图片，
                         * 详情请查看ImagePickerActivity
                         * */
                        //进去可以看到已经被选中的图片
                        intent1.putExtra(ImageGridActivity.EXTRAS_IMAGES, selImageList);
                        activity.startActivityForResult(intent1, Configs.REQUEST_CODE_SELECT);
                        break;
                    default:
                        break;
                }
            }
        }, activity);

    }

    public static void gotoPick1(final Activity activity, final ArrayList<ImageItem> selImageList, final int type) {

        Dialogutils.showDialog(new SelectDialog.SelectDialogListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, final int positions, long id) {
                //第一次调用的时候，虽然imagepicker后面有调存储卡权限，但头一次进来同时调用存储卡权限和相机权限没有处理，只单独调用
                //        了相机权限，所以第一次进来的时候照相会崩掉
                switch (positions) {
                    case 0: // 直接调起相机
                        /**
                         * 0.4.7 目前直接调起相机不支持裁剪，如果开启裁剪后不会返回图片，请注意，后续版本会解决
                         *
                         * 但是当前直接依赖的版本已经解决，考虑到版本改动很少，所以这次没有上传到远程仓库
                         *
                         * 如果实在有所需要，请直接下载源码引用。
                         */
                        //打开选择,本次允许选择的数量
                        //                        ImagePicker.getInstance().setSelectLimit(maxImgCount - selImageList.size());
                        Intent intent = new Intent(activity, ImageGridActivity.class);
                        intent.putExtra(ImageGridActivity.EXTRAS_TAKE_PICKERS, true); // 是否是直接打开相机
                        activity.startActivityForResult(intent, Configs.REQUEST_CODE_PHONE);
                        break;
                    case 1:
                        //打开选择,本次允许选择的数量
//                        ImagePicker.getInstance().setSelectLimit(maxImgCount - selImageList.size());
                        Intent intent1 = new Intent(activity, ImageGridActivity.class);
                        /* 如果需要进入选择的时候显示已经选中的图片，
                         * 详情请查看ImagePickerActivity
                         * */
                        //进去可以看到已经被选中的图片
                        intent1.putExtra(ImageGridActivity.EXTRAS_IMAGES, selImageList);
                        intent1.putExtra("type",type);
                        activity.startActivityForResult(intent1, Configs.REQUEST_CODE_SELECT);
                        break;
                    default:
                        break;
                }
            }
        }, activity);

    }


}
